package com.dlc.shop.user.common.dto;

import com.dlc.shop.bean.app.dto.ProductItemDto;
import com.dlc.shop.bean.app.dto.UserAddrDto;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

/**
 * 积分商品订单合并信息
 * @author LHD
 */
@Data
public class ScoreOrderMergerDto {

    @Schema(description = "实际总值" , requiredMode = Schema.RequiredMode.REQUIRED)
    private Double actualTotal;

    @Schema(description = "商品总值" , requiredMode = Schema.RequiredMode.REQUIRED)
    private Double total;

    @Schema(description = "用户等级免运费金额" , requiredMode = Schema.RequiredMode.REQUIRED)
    private Double freeTransfee = 0.0;

    @Schema(description = "总运费" , requiredMode = Schema.RequiredMode.REQUIRED)
    private Double totalTransfee;

    @Schema(description = "商品总数" , requiredMode = Schema.RequiredMode.REQUIRED)
    private Integer totalCount;

    @Schema(description = "地址Dto" , requiredMode = Schema.RequiredMode.REQUIRED)
    private UserAddrDto userAddr;

    @Schema(description = "商品信息" , requiredMode = Schema.RequiredMode.REQUIRED)
    private ProductItemDto productItemDto;

    @Schema(description = "msgId" ,requiredMode = Schema.RequiredMode.REQUIRED)
    private String msgId;

    @Schema(description = "userId" ,requiredMode = Schema.RequiredMode.REQUIRED)
    private String userId;

    @Schema(description = "店铺id" , requiredMode = Schema.RequiredMode.REQUIRED)
    private Long shopId;

    @Schema(description = "订单编号" , requiredMode = Schema.RequiredMode.REQUIRED)
    private String orderNumber;

    @Schema(description = "用户是否选择积分抵现(0不使用 1使用 默认不使用)" )
    private Integer isScorePay;

    @Schema(description = "订单优惠金额(所有店铺优惠金额和使用积分抵现相加)" , requiredMode = Schema.RequiredMode.REQUIRED)
    private Double orderReduce = 0.0;

    @Schema(description = "订单备注" ,requiredMode = Schema.RequiredMode.REQUIRED)
    private String remarks;

    @Schema(description = "每次订单提交时的uuid" )
    private String uuid;
}
